package com.zhima.dto;

import com.zhima.entity.TestCaseResult;
import com.zhima.enums.ScoreStrategy;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author : Administer
 * 测评结果类
 * @date : 2023-09-12 17:13
 **/
@Data
public class FeignJudgeResult {
    /**
     * 可能设置了多个子任务
     */
    private SubTaskResult[] subTaskResults;
    /**
     * 总用时
     */
    private BigDecimal useTime;
    /**
     * 总用内存
     */
    private BigDecimal useMemory;
    /**
     * 总分的计分策略
     */
    private ScoreStrategy scoreStrategy;
    /**
     * 总分
     */
    private Integer score;
    /**
     * 是否AC
     */
    private boolean accepted;

    @Data
    public static class SubTaskResult {
        /**
         * 子任务计分策略
         */
        private ScoreStrategy scoreStrategy;
        /**
         * 本子任务的得分
         */
        private Integer score;
        /**
         * 本子任务里面的测试用例结果
         */
        private List<TestCaseResult> testCaseResults;
    }
}
